<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 字符串的拓展方法 
    // chatAt()  charCodeAt()    String.fromCharCode()
    // concat()  slice()/substring()/substr()
    // indexOf() lastIndexOf() includes()
    // trim()   trimLeft()  trimRight()
    // toLowerCase()  toUpperCase()

    // 字符串的拓展方法  => 可以配合正则表达式使用
    // search()  match()  replace()   split()


    // search()
    // 普通用法:  返回某个或某段字符,在字符串中第一次出现的位置  存在=> 下标 不存在 => -1
    // var str = "good good study , day day up";

    // var index = str.search("d"); // 3   "d" => new RegExp("d")  => 不添加修饰符
    // var index = str.search("day"); // 18
    // var index = str.search("Day"); // -1
    // console.log(index);

    // 高级用法: 配合正则表达式使用
    // 返回符合规则的某个或某段字符,在字符串中第一次出现的位置  存在=> 下标 不存在 => -1

    // var str = "good good study , Day dAy up";
    // var reg = /day/; // day  => -1
    // var reg = /day/i; // d|D   a|A   y|Y  =>  18
    // var reg = /day/ig; // d|D   a|A   y|Y  =>  18
    // var index = str.search(reg);
    // console.log(index);


    // match()  字符串匹配
    // 普通用法: 将匹配的内容提取出来放到数组中 (默认匹配一个)
    // var str = "good good study , day day up";
    // var result = str.match("day"); // "day" => new RegExp("day")
    // console.log(result);

    // 高级用法: 配合正则表达式使用
    //  将符合规则的内容提取出来放到数组中 (默认匹配一个,添加g修饰符 可以匹配所有)

    // var str = "good good study , Day dAy up";
    // var reg = /day/;  // => null
    // var reg = /day/i;  // 忽略大小写
    // var reg = /day/ig;  // 忽略大小写 全局匹配
    // var result = str.match(reg);
    // console.log(result);


    // replace(oldStr,newStr)  字符串替换
    // 普通用法: 将匹配的内容替换为新的内容 (默认替换一个)
    // var str = "good good study , day day up";
    // var result = str.replace("day", "money"); // "day" => new RegExp("day")
    // console.log(result);

    // 高级用法: 配合正则表达式使用
    //  将符合规则的内容换为新的内容 (默认替换一个,添加g修饰符 可以替换所有)

    // var str = "good good study , Day dAy up";
    // var reg = /day/;  // => null
    // var reg = /day/i;  // 忽略大小写
    // var reg = /day/ig;  // 忽略大小写 全局匹配
    // var result = str.replace(reg, "money");
    // console.log(result);


    // split()  用特定的字符将字符串分割为数组
    // var str = "good good study , day day up";
    // var arr = str.split(" ");
    // console.log(arr);


    var str = "good     good   study  ,    day         day      up";
    var arr = str.split(/\s+/);
    console.log(arr);




































    // 模拟封装
    /* function search(str, searchStr) {
        var reg = null;
        if (typeof searchStr == "string") {  //传入字符串 => 转化为正则
            reg = new RegExp(searchStr); // new RegExp("d")
        } else if (searchStr instanceof RegExp) { //判断 searchStr是否是构造函数RegExp创建的
            reg = searchStr;    //  /day/ig   传入正则 => 直接赋值
        }

        console.log(str, reg);
        var result = reg.exec(str);
        // console.log(result); // []   null
        if (result) {
            return result.index;
        } else {
            return -1;
        }

    }

    // var result = search(str, "d");
    // var result = search(str, "day");
    // var result = search(str, "Day");
    var result = search("good good study , Day dAy up", /day/ig);
    console.log(result); */





</script>

</html>